package com.whfc.iot.mach.entity;

import lombok.Data;
import org.springframework.util.ObjectUtils;

import java.util.Date;

@Data
public class MachMsg0x05 extends MachMsg {

    /**
     * 状态
     */
    private int status;

    /**
     * 时间
     */
    private Date time;

    /**
     * 帧类型(0x00-标准帧,0x04-扩展帧)
     */
    private int frameType;

    /**
     * 帧ID
     */
    private long frameId;

    /**
     * 帧RTR
     */
    private int frameRtr;

    /**
     * 帧数据长度
     */
    private int frameDlc;

    /**
     * 帧数据
     */
    private int[] frameDataBytes;

    /**
     * 帧数据-文本
     */
    private String frameData;

    /**
     * 电池状态:
     * 0x01：正在充电
     * 0x02：充电完成
     * 0x03：未在充电
     */
    private Integer batteryState;

    /**
     * 电量百分比
     */
    private Integer batteryPower;

    /**
     * 经度标志位(4bit)
     */
    private String lngFlag;

    /**
     * 纬度标志位(4bit)
     */
    private String latFlag;

    /**
     * 经度(4-byte)
     */
    private double lngWgs84;

    /**
     * 纬度(4-byte)
     */
    private double latWgs84;

    /**
     * 主机版本号(1.0.0)
     */
    private String masterVer;

    /**
     * 主机版本号[1,0,0]
     */
    private int[] masterVerArr;

    @Override
    public int getDataLength() {
        int dataLength = 34;
        if (!ObjectUtils.isEmpty(batteryState) && !ObjectUtils.isEmpty(batteryPower)) {
            dataLength += 2;
        }
        return dataLength;
    }
}
